import type {SidebarsConfig} from '@docusaurus/plugin-content-docs';

/**
 * Creating a sidebar enables you to:
 - create an ordered group of docs
 - render a sidebar for each doc of that group
 - provide next/previous navigation

 The sidebars can be generated from the filesystem, or explicitly defined here.

 Create as many sidebars as you want.
 */
const sidebars: SidebarsConfig = {
  // By default, Docusaurus generates a sidebar from the docs folder structure
  // tutorialSidebar: [{type: 'autogenerated', dirName: '.'}],
  docs: {
    'ABOUT': [
      'about/what-is-vcontainer',
      'about/what-is-di',
    ],
    'Getting Started': [
      'getting-started/installation',
      'getting-started/hello-world',
    ],
    'Resolving': [
      'resolving/constructor-injection',
      'resolving/method-injection',
      'resolving/property-field-injection',
      'resolving/gameobject-injection',
      'resolving/container-api',
    ],
    'Registering': [
      'registering/register-type',
      'registering/register-using-delegate',
      'registering/register-factory',
      'registering/register-monobehaviour',
      'registering/register-scriptable-object',
      'registering/register-collection',
      'registering/register-callbacks',
      'registering/register-with-keys',
    ],
    'Integrations': [
      'integrations/entrypoint',
      'integrations/unitask',
      'integrations/unirx',
      'integrations/messagepipe',
      'integrations/ecs',
    ],
    'Scoping': [
      'scoping/lifetime-overview',
      'scoping/generate-child-via-scene',
      'scoping/generate-child-with-code-first',
      'scoping/project-root-lifetimescope',
    ],
    'Diagnostics (Debugging)': [
      'diagnostics/diagnostics-window'
    ],
    'Optimization': [
      'optimization/source-generator',
      'optimization/async-container-build',
      'optimization/parallel-container-build',
      'optimization/codegen',
    ],
    'Comparing to other libraries': [
      'comparing/comparing-to-zenject'
    ]
  },
};

export default sidebars;
